# WebSocket 操作 主要有2个功能: - 创建WebSocket客户端以连接第三方websocket服务。 - 向连接到[本机Websocket服务](https://getquicker.net/KC/Manual/Doc/websocketservice)的客户端发送数据。 ​ ![image.png](https://cdn.nlark.com/yuque/0/2022/png/272392/1645771246730-61b36009-9d74-4783-a080-fb017a601393.png#clientId=u70690ace-bc1c-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=345&id=u5b5321a7&margin=%5Bobject%20Object%5D&name=image.png&originHeight=517&originWidth=1257&originalType=binary&ratio=1&rotation=0&showTitle=false&size=100146&status=done&style=none&taskId=u6268dc40-5c6b-4d0f-8fa1-0cfd575c6b6&title=&width=838)

# 创建Websocket连接 当Quicker作为websocket客户端连接第三方服务时使用。
​ 大概的使用流程: - 先设计好接收消息处理子程序。 - 连接到Websocket服务,并指定“连接ID”和接收消息处理子程序。连接将会建立并保持(即使动作已经结束)。 - 需要时,通过指定 “连接ID” 向Websocket服务器发送消息。 - 接收到消息后,Quicker会调用创建连接时指定的子程序,并将子程序的输出发送给Websocket服务器。 ​
## 设计接收消息处理子程序 在收到消息时(仅支持文本消息),Quicker将会调用设定的子程序,并将详细内容传入Data参数变量中。
![image.png](https://cdn.nlark.com/yuque/0/2022/png/272392/1645769829415-0169475d-ea3c-43c1-9754-2068d61d3e81.png#clientId=u70690ace-bc1c-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=568&id=u08d9634e&margin=%5Bobject%20Object%5D&name=image.png&originHeight=852&originWidth=1601&originalType=binary&ratio=1&rotation=0&showTitle=false&size=69239&status=done&style=none&taskId=u2f73a733-2e8e-461b-b56c-8263e810a94&title=&width=1067.3333333333333)
处理完成后,将要返回的结果赋值给Response输出变量。 如果Response变量内容不为空,Quicker会将此内容返回给Websocket服务器。
​ 子程序会被直接调用,因此不需要将其添加到主程序步骤中。 主程序的步骤也不会被执行。

## 连接到Websocket服务 向指定的服务器建立连接并保持。
![image.png](https://cdn.nlark.com/yuque/0/2022/png/272392/1645770842199-83b8f082-6164-4761-815e-dab5a12e9a86.png#clientId=u70690ace-bc1c-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=938&id=u40c95036&margin=%5Bobject%20Object%5D&name=image.png&originHeight=1407&originWidth=1257&originalType=binary&ratio=1&rotation=0&showTitle=false&size=115899&status=done&style=none&taskId=u7ad49368-1eab-400a-9574-dd42814a492&title=&width=838)
【服务器地址】第三方websocket服务器地址。
【连接ID】标识一个连接。可在后续步骤中通过指定此id向对端服务器发送消息,也可用于获取连接状态或关闭连接。
【消息处理子程序】设定用于处理接收到的消息的子程序。
【消息内容】连接后立即发送的消息内容。
【账号密码】支持Basic Authentication、Digest Authentication。第一行写用户名,第二行写密码。
【cookie】请求附带的cookie内容。格式为每行一个,每个为 name:value 的形式。
【origin】可选。请求的http来源信息。
## 向Websocket服务发送消息 ![image.png](https://cdn.nlark.com/yuque/0/2022/png/272392/1645771367789-a26730cc-a855-4fed-9bf1-4ef09f6b72f0.png#clientId=u70690ace-bc1c-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=337&id=u8d328b0e&margin=%5Bobject%20Object%5D&name=image.png&originHeight=505&originWidth=1257&originalType=binary&ratio=1&rotation=0&showTitle=false&size=42388&status=done&style=none&taskId=u38831897-5c2e-49f7-b8fb-0d8735a49f0&title=&width=838)

## 获取连接状态 获取连接是否建立的信息。

## 关闭连接 关闭指定ID的连接。

## 示例动作 在 `https://tools.getquicker.cn/ws` 提供websocket了“回显”(返回客户端所发送的数据)服务可供测试。 - [WebSocket操作](https://getquicker.net/Sharedaction?code=16cd6907-13d1-45bb-9c56-08d9f836c603) ​ ​ ​ ​
# 通过Webscoekt服务向客户端发送内容 ​ 向连接到 [webscoket服务](https://getquicker.net/KC/Manual/Doc/websocketservice) 的所有客户端发送内容。
​ ![image.png](https://cdn.nlark.com/yuque/0/2022/png/272392/1645145480132-92189508-94bb-42c9-9fb8-3e48e2e816fc.png#clientId=u4617036b-92ec-4&crop=0&crop=0&crop=1&crop=1&from=paste&id=u8cd90a4b&margin=%5Bobject%20Object%5D&name=image.png&originHeight=846&originWidth=1257&originalType=url&ratio=1&rotation=0&showTitle=false&size=69959&status=done&style=none&taskId=ua06413a7-025d-4253-8a3c-2d0f71206aa&title=)
操作类型可选:发送文本、二进制方式或Base64方式发送文件。
​ 具体消息格式要求请参考[websocket服务文档](https://getquicker.net/KC/Manual/Doc/websocketservice#hYqrw)中的内容。